Electronic systems and circuits are often utilized in a number of applications to achieve advantageous results. Numerous electronic technologies such as computers, video equipment, and communication systems facilitate increased productivity and cost reduction in analyzing and communicating information in most areas of business, science, education and entertainment. Frequently, these activities involve storage of vast amounts of information and significant resources are expended storing and processing the information. Maintaining accurate replicated backup storage of the information is often very important for a variety or reasons (e.g., disaster recovery, corruption correction, etc.).
Accurately duplicating the information in a consistent manner is typically very important. Some traditional backup and replication approaches utilize snapshots or checkpoints in an attempt to allow Applications to continue to write to the primary file system while a backup or replication is in progress without burdening the application making use of that file system. The storage checkpoints or file system snapshots are often utilized for ensuring a backup and replication is taken of an image at a consistent point in time. Depending upon the amount of data to be processed from the snapshot, the lifetime of the snapshot can be quite long, especially if the backup/replication application requires a persistent snapshot during the entire backup/replication process. Some conventional approaches utilize copy on write (COW) mechanisms as part of the snapshot operations. The COW is typically used to preserve earlier data of a file that is overwritten and there can be COW overhead for the lifetime of the snapshot, even for those blocks that have already been read by a consumer or backup or replication application.
Conventional approaches typically require the entire backup or replication to be complete before snapshot information can be discarded. However, as more and more changes come in, more and more storage is consumed for preserving the snapshot image. If the backup or replication cannot finish before the system runs out of free space, the snapshot is discarded prematurely and backup or replication fails. For systems with limited free space, backup or replication may never complete successfully. Some conventional approaches may attempt to add significant amounts of storage capacity to enable free space to be available, however this approach can be very resource intensive and costly or infeasible.